As the demands for higher bandwidth and parallel processing increase for network devices, the demand on shared resources also grows. Shared resources may include, but are not limited to, memory, access ports, processors, processing units, devices, and other resources that are shared by one or more candidate entities requesting access to a shared resource. Current systems lack the flexibility to adapted to demands for resources based on current usage and require complex procedures to update how resources are allocated to candidate entities.